https://glot.io/snippets/gi40dyut8u/raw/main.lua